Zavreni formulare v CREATE nebo SHOW

Otázka od: delphak@centrum.cz

29. 4. 2004 8:19

Dobry den, pri otevirani formulare testuji prava uzivatele a na zaklade tohoto
vysledku potrebuji v metode OnCreate nebo OnSHow zrusit otvirani tohoto
formulare. Muzete me nakopnout kterak na to?
Dik




Odpovedá: Jaromir Cermak

29. 4. 2004 8:57

Zavirat formular v Creatu nema smysl, protoze jeste neni otevren. Proste nedam
Show a zavolam na nej Free. Napr. podle nejakeho priznaku. V show mi to neslo,
takze jsme to vyresili tak ze se jen aktivuje Timer, ktery okno po chvili
zavre.



                                            Jaromir Cermak


-----Original Message-----
From: delphak@centrum.cz [mailto:delphak@centrum.cz]

Dobry den, pri otevirani formulare testuji prava uzivatele a na zaklade tohoto
vysledku potrebuji v metode OnCreate nebo OnSHow zrusit otvirani tohoto
formulare. Muzete me nakopnout kterak na to?
Dik


Odpovedá: Vaclav Krmela

29. 4. 2004 9:07

> From: Jaromir Cermak
>
> V show mi to neslo, takze jsme to vyresili
> tak ze se jen aktivuje Timer, ktery okno po chvili zavre.

Nebylo by jednodussi udelat:

  PostQuitMessage(0);

Probliknuti hlavniho oka aplikace to ale nezabrani.
To by se dalo potlacit pouze v OnCreate:

  Application.ShowMainForm := false;
  PostQuitMessage(0);

Vaclav Krmela


Odpovedá: Petr Daricek

29. 4. 2004 9:50

> Dobry den, pri otevirani formulare testuji prava uzivatele a na zaklade
tohoto vysledku potrebuji v metode OnCreate nebo OnSHow zrusit otvirani tohoto
formulare. Muzete me nakopnout kterak na to?
> Dik

Ahoj,
  mnohem lepsi mi sice prijde testovat, prava, nez se zahaji samotna akce
otevirani formulare. Ale skryt formular lze takhle.


TFomr2=class(TForm)
.....

     procedure Mess(var Mes:TWMShowWindow);message WM_SHOWWINDOW;
  end;

.....

procedure TForm2.Mess(var Mes: TWMShowWindow);
begin
  PostMessage(handle,WM_CLOSE,0,0);
end;

Odpovedá: Ludek

29. 4. 2004 9:42

Jedine tak, ze si posles zpravu pres PostMessage (ne pres SendMessage!) nekam
jinam, nez do toho formulare a a zavres to z venku jako rekaci na tu zpravu.


> Dobry den, pri otevirani formulare testuji prava uzivatele a na zaklade
tohoto vysledku potrebuji v metode OnCreate nebo OnSHow zrusit otvirani tohoto
formulare. Muzete me nakopnout kterak na to?
> Dik


Odpovedá: Marek Dostal

29. 4. 2004 9:48

> Dobry den, pri otevirani formulare testuji prava uzivatele a na zaklade
tohoto vysledku potrebuji v metode
>OnCreate nebo OnSHow zrusit otvirani tohoto formulare. Muzete me nakopnout
kterak na to?

Nemuzu to presne najit, ale jen schematicky mi fungovalo:

procedure TForm1.FormActivate;
begin
  if NemaPrava then
  begin
     Close;
     exit;
  end;
end;


Odpovedá: Tomas Rosa

29. 4. 2004 9:50


>Jedine tak, ze si posles zpravu pres PostMessage (ne pres SendMessage!) nekam
>jinam, nez do toho formulare a a zavres to z venku jako rekaci na tu zpravu.
>

?!?!? Proc z venku?

Staci uplne normalne dat v metodach OnCreate ci OnShow toto:

PostMessage(Handle,WM_CLOSE,0,0);

tedy pokud naaaahodou nepouzivas Application.ProcessMessages - to by
znamenalo ze se zprava WM_CLOSE muze zpracovat jeste pred dobehnutim
OnCreate. Jinak to je samozrejmne vpohode, protoze zpravy se nezpracuji nez
dobehne OnCreate + OnShow a pak se okno zavre.

> > Dobry den, pri otevirani formulare testuji prava uzivatele a na zaklade
> tohoto vysledku potrebuji v metode OnCreate nebo OnSHow zrusit otvirani
> tohoto formulare. Muzete me nakopnout kterak na to?
> > Dik


                                        S pozdravem
                                                Tomas Rosa

------------------------=[ pinknet on every screen]=-----------------------
Tomas Rosa
Tomas.Rosa@PinkNet.cz http://www.pnws.org
+420 602 860 704
PinkNet Web Server for Win32 - FREEWARE www.pnws.org
---------------------------------------------------------------------------



Odpovedá: jsdelphi@creatix.cz

29. 4. 2004 10:56

> Dobry den, pri otevirani formulare testuji prava uzivatele a na zaklade
> tohoto vysledku potrebuji v metode OnCreate nebo OnSHow zrusit
> otvirani
> tohoto formulare. Muzete me nakopnout kterak na to?


Ja bych test provadel jeste pred vytvorenim formulare:


TListForm = class(TForm)
...
public
  class procedure ShowList;
end;

...

class procedure TListForm.ShowList;
begin
  if myTestPrava then
  with Create(Application) do
  try
    ShowModal;
  finally
    Free;
  end;
end;

Jan Skopovy


Odpovedá: aldik@quick.cz

29. 4. 2004 11:08

to je prasecina, standardne se to dela vlastni uzivatelskou message a vlastni
udalosti..."amater" Vones to tu ukazoval uz milionkrat 

Aldik

> Zavirat formular v Creatu nema smysl, protoze jeste neni otevren.
> Proste nedam Show a zavolam na nej Free. Napr. podle nejakeho
> priznaku. V show mi to neslo, takze jsme to vyresili tak ze se jen
> aktivuje Timer, ktery okno po chvili zavre.
>


Odpovedá: Petr Fejfar

29. 4. 2004 11:17

aldik@quick.cz wrote:

> to je prasecina, standardne se to dela vlastni uzivatelskou message a
> vlastni udalosti..."amater" Vones to tu ukazoval uz milionkrat 

Jak psal uz TR: standardne na to snad je message WM_CLOSE, ne?


pf


Odpovedá: Stasko Peter

29. 4. 2004 12:05

Hlavne, ze ty si spadol z neba uceny

to je prasecina, standardne se to dela vlastni uzivatelskou message a vlastni
udalosti..."amater" Vones to tu ukazoval uz milionkrat 

Aldik

> Zavirat formular v Creatu nema smysl, protoze jeste neni otevren.
> Proste nedam Show a zavolam na nej Free. Napr. podle nejakeho
> priznaku. V show mi to neslo, takze jsme to vyresili tak ze se jen
> aktivuje Timer, ktery okno po chvili zavre.
>



Odpovedá: Petr Fejfar

29. 4. 2004 12:31

Stasko Peter wrote:

> Hlavne, ze ty si spadol z neba uceny

Nikdo nespadl uceny z nebe, ale upozorneni na to,
ze reseni je suboptimalni, je prece soucasti procesu uceni
a nemelo by byt chapano jako osobni utok.


pf


Odpovedá: Stasko Peter

29. 4. 2004 13:37

Tak sa zamysli nad tym co si napisal.. to nieje utok, ale proces ucenia.. mozno
sa tym naucis, ze aj iny zacinaju...
Proces ucenia  

Stasko Peter wrote:

> Hlavne, ze ty si spadol z neba uceny

Nikdo nespadl uceny z nebe, ale upozorneni na to,
ze reseni je suboptimalni, je prece soucasti procesu uceni
a nemelo by byt chapano jako osobni utok.


pf



Odpovedá: aldik@quick.cz

29. 4. 2004 15:48


Aldik:
Souhlasim...jen upresnim jde to i zevnitr 


Ludek:
> Jedine tak, ze si posles zpravu pres PostMessage (ne pres
> SendMessage!) nekam
> jinam, nez do toho formulare a a zavres to z venku jako rekaci na
> tu zpravu.